2010-05-18

常用的陣列函式

陣列函式依其功能細分成各段各別說明如下。

v         產生陣列與基本操作
完整語法
意義及說明
array(……)
建立陣列。
range(小值, 大值)
產生陣列,並填入由小值遞增到大值的各個元素。
count(陣列)
傳回陣列中的元素個數。
sizeof(陣列)
count()
shuffle(陣列)
將陣列內的順序重新混亂排過。

v         配合指標處理陣列的函式
完整語法
意義及說明
each(陣列)
傳回陣列中下一個元素,傳回索引及值
current(陣列)
傳回目前陣列指標所在的元素
pos(陣列)
current()
key(陣列)
取得陣列中的索引
reset(陣列)
將陣列指標指到陣列的第一個元素。
end(陣列)
將陣列指標移到最後一個元素
prev(陣列)
將陣列指標往上一筆移動
next(陣列)
將陣列指標往下一筆移動

v         統計及整批改變功能
完整語法
意義及說明
array_count_values(陣列)
檢查陣列中重覆的次數,類似統計次數的功能。
array_sum(陣列)
將陣列各元素的值予以加總計算。
array_unique(陣列)
去除陣列中有重覆值的元素。
array_change_key_case(字串, [模式])
將陣列的文字索引改為大寫或小寫,模式可能為
CASE_UPPSER (大寫) CASE_LOWER (小寫),預設為小寫。
array_reverse(陣列, [設定])
將陣列內元素順序反轉,設定值若為TRUE,則讓索引與值一併移動;若設為FALSE,則只反轉元素的值。
array_walk(陣列, 函式名稱)


v         合併、分割及擷取
完整語法
意義及說明
array_values(陣列)
取出陣列內所有元素的值,原有之索引資料會遺失,而以數值重訂索引。
array_keys(陣列, [參數值])
將陣列所有元素的索引取出組成一個新陣列傳回,若有設定參數值,則僅將元素值等於參數值的索引取出。
array_pad(陣列, 數量, 填入值)
擴張陣列的元素個數到指定數量個,增加的元素均填入指定的值。若指定數量小於原本的陣列大小時,此函式無作用。
array_merge(陣列1, 陣列2, ……)
合併多個陣列。若有文字索引重覆者,後來加入的元素,會覆蓋前者。
array_merge_recursive(陣列, ……)
array_merge() 相似,但遇到索引重覆者,其值會改以陣列存入以保留各個值。
array_chunk(陣列, 數量, [設定])
將陣列依指定數量切割為多維陣列。設定值為TRUE時,則保留原索引;若為FALSE,則重設數字索引。
array_combine(索引陣列, 值陣列)
將兩陣列合併,需注意它是將第一個參數的陣列當成新陣列的索引,而值陣列則為新陣列的值。
array_slice(陣列, 起始位置, 數目)
將陣列由指定起始位置開始,取出指定數目的元素成為新陣列。原陣列的資料仍保留著。
若起始位置為負數,表示由後往前計算找到起始位置。
數目值亦可為負數,表示由起始位置往前取出。
array_splice(陣列, 起始位置, 刪除個數, 插入元素)
array_slice() 函式語法類似,但此函式為刪除指定的個數。若有『插入元素』,則為以插入元素取代被刪除的元素,單獨一個值表插入一個,若有多個插入元素則以陣列表示。
array_rand(陣列, 數目)
在陣列中隨機取出指定數目的個數,組合成陣列傳回。需注意取出的資料為索引,並非元素值。
array_flip(陣列)
將陣列的索引和值互相對調,但因值的部份可能會有重覆,因此值重覆的部份,對調之後只會保留最後一個。

v         陣列搜尋與比對
完整語法
意義及說明
in_array(, 陣列, [含型別檢查])
檢查陣列內是否存在某指定之資料值。
若型別檢查設定為TRUE,則必須連資料型態都相同。
array_search(搜尋值, 陣列, [含型別檢查])
in_array() 相似,但搜尋的依據是索引。
array_diff(陣列1, 陣列2, ……)
比對各組陣列的元素值,將彼此『不同』的元素以陣列傳回。
array_diff_assoc(陣列, ……)
array_diff()相似,但只針對相同索引鍵的才互相比較。
array_intersect(陣列, ……)
比對各組陣列的元素值,將彼此『相同』的元素以陣列傳回。
array_intersect_assoc(陣列, )
array_intersect()相似,但只針對相同索引鍵的才互相比較。

v         陣列的篩選
完整語法
意義及說明
array_filter(陣列, 自訂函式名稱)
自訂函式做為陣列篩選的條件,將符合篩選條件的元素取出,組合成新陣列傳回。

v         資料元素的增加與取出
完整語法
意義及說明
array_shift(陣列)
移除第一個陣列元素。
array_unshift(陣列, 元素值, ……)
在陣列前方增加元素,可一次增加多個。
array_pop(陣列)
刪除陣列的最後一個元素。
array_push(陣列, 元素值, ……)
新增一個或多個元素,置於陣列後面。此函式功能和下述指令相同:
$陣列[] = ;

v         陣列與其他資料型態之轉換
完整語法
意義及說明
list(變數1, 變數2, ……)
將陣列中的元素指定給變數
compact(變數名稱字串, ……)
將各個變數組合成為一個陣列。陣列索引為原變數名稱,陣列值為原變數值。
extract(陣列)
將陣列內的各元素,轉變成以索引名稱的變數,此變數值即為各元素值。
serialize(陣列)
將陣列轉換成特定的字串表示式。
unserialize(字串表示式)
將由serialize() 所轉出的字串表示式,再轉換為陣列。
implode(分隔文字, 陣列)
將陣列的各元素合併成為一串文字,中間插入分隔字元隔開。
explode(分隔文字, 字串)
依據字串內之分隔字元加以拆解,拆解後的各段成為陣列的各元素。
join(分隔文字, 陣列)
implode() 函式。
str_split(字串, [指定字數])
將字串依指定字數逐一切割後置入陣列傳回。

張貼留言

Whatsapp Button works on Mobile Device only

Start typing and press Enter to search